﻿Imports System
Imports System.Configuration

Namespace System.Workflow.Activities.Configuration
    Public NotInheritable Class ActiveDirectoryRoleFactoryConfiguration
        Inherits ConfigurationSection
        ' Properties
        <ConfigurationProperty("DirectReports", DefaultValue:="directReports")> _
        Public Property DirectReports As String
            Get
                Return CStr(MyBase.Item("DirectReports"))
            End Get
            Set(ByVal value As String)
                MyBase.Item("DirectReports") = value
            End Set
        End Property

        <ConfigurationProperty("DistiguishedName", DefaultValue:="distinguishedName")> _
        Public Property DistinguishedName As String
            Get
                Return CStr(MyBase.Item("DistiguishedName"))
            End Get
            Set(ByVal value As String)
                MyBase.Item("DistiguishedName") = value
            End Set
        End Property

        <ConfigurationProperty("Group", DefaultValue:="group")> _
        Public Property Group As String
            Get
                Return CStr(MyBase.Item("Group"))
            End Get
            Set(ByVal value As String)
                MyBase.Item("Group") = value
            End Set
        End Property

        <ConfigurationProperty("Manager", DefaultValue:="manager")> _
        Public Property Manager As String
            Get
                Return CStr(MyBase.Item("Manager"))
            End Get
            Set(ByVal value As String)
                MyBase.Item("Manager") = value
            End Set
        End Property

        <ConfigurationProperty("Member", DefaultValue:="member")> _
        Public Property Member As String
            Get
                Return CStr(MyBase.Item("Member"))
            End Get
            Set(ByVal value As String)
                MyBase.Item("Member") = value
            End Set
        End Property

        <ConfigurationProperty("RootPath", DefaultValue:="")> _
        Public Property RootPath As String
            Get
                Return CStr(MyBase.Item("RootPath"))
            End Get
            Set(ByVal value As String)
                MyBase.Item("RootPath") = value
            End Set
        End Property


        ' Fields
        Private Const _DirectReports As String = "DirectReports"
        Private Const _DistinguishedName As String = "DistiguishedName"
        Private Const _Group As String = "Group"
        Private Const _Manager As String = "Manager"
        Private Const _Member As String = "Member"
        Private Const _RootPath As String = "RootPath"
    End Class
End Namespace

